home *** CD-ROM | disk | FTP | other *** search
Text File | 1995-10-16 | 12.0 KB | 357 lines | [TEXT/MPS ] |
- (*
- File: Speech.mod
-
- Contains: Speech Interfaces.
-
- Version: Technology: System 7.5
- Package: Universal Interfaces 2.0 in “MPW Latest” on ETO #17
-
- Copyright: © 1984-1995 by Apple Computer, Inc.
- All rights reserved.
-
- Bugs?: If you find a problem with this file, use the Apple Bug Reporter
- stack. Include the file and version information (from above)
- in the problem description and send to:
- Internet: apple.bugs.applelink.apple.com
- AppleLink: APPLE.BUGS
-
- *)
-
- (*$TAGS-*)
- (*$CALLING PASCAL*)
- MODULE Speech;
-
- IMPORT SYSTEM, Types, Files;
-
- (* $PUSH*)
- (* $ALIGN MAC68K*)
- (* $LibExport+*)
-
- CONST
- kTextToSpeechSynthType* = LONG("ttsc");
- kTextToSpeechVoiceType* = LONG("ttvd");
- kTextToSpeechVoiceFileType* = LONG("ttvf");
- kTextToSpeechVoiceBundleType* = LONG("ttvb");
-
- kNoEndingProsody* = 1;
- kNoSpeechInterrupt* = 2;
- kPreflightThenPause* = 4;
-
- kImmediate* = 0;
- kEndOfWord* = 1;
- kEndOfSentence* = 2;
-
- (*------------------------------------------*)
- (* GetSpeechInfo & SetSpeechInfo selectors *)
- (*------------------------------------------*)
- soStatus* = LONG("stat");
- soErrors* = LONG("erro");
- soInputMode* = LONG("inpt");
- soCharacterMode* = LONG("char");
- soNumberMode* = LONG("nmbr");
- soRate* = LONG("rate");
- soPitchBase* = LONG("pbas");
- soPitchMod* = LONG("pmod");
- soVolume* = LONG("volm");
- soSynthType* = LONG("vers");
- soRecentSync* = LONG("sync");
- soPhonemeSymbols* = LONG("phsy");
- soCurrentVoice* = LONG("cvox");
- soCommandDelimiter* = LONG("dlim");
- soReset* = LONG("rset");
- soCurrentA5* = LONG("myA5");
- soRefCon* = LONG("refc");
- soTextDoneCallBack* = LONG("tdcb");
- soSpeechDoneCallBack* = LONG("sdcb");
- soSyncCallBack* = LONG("sycb");
- soErrorCallBack* = LONG("ercb");
- soPhonemeCallBack* = LONG("phcb");
- soWordCallBack* = LONG("wdcb");
- soSynthExtension* = LONG("xtnd");
- soSoundOutput* = LONG("sndo");
-
- (*------------------------------------------*)
- (* Speaking Mode Constants *)
- (*------------------------------------------*)
- modeText* = LONG("TEXT"); (* input mode constants *)
- modePhonemes* = LONG("PHON");
- modeNormal* = LONG("NORM"); (* character mode and number mode constants *)
- modeLiteral* = LONG("LTRL");
-
- soVoiceDescription* = LONG("info");
- soVoiceFile* = LONG("fref");
-
-
- TYPE
- SpeechChannelRecord* = RECORD
- data*: ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF LONGINT;
- END;
-
- SpeechChannel* = POINTER TO SpeechChannelRecord;
-
- VoiceSpecPtr* = POINTER TO VoiceSpec;
- VoiceSpec* = RECORD
- creator*: Types.OSType;
- id*: Types.OSType;
- END;
-
-
- CONST
- kNeuter* = 0;
- kMale* = 1;
- kFemale* = 2;
-
-
- TYPE
- VoiceDescription* = RECORD
- length*: LONGINT;
- voice*: VoiceSpec;
- version*: LONGINT;
- name*: Types.Str63;
- comment*: Types.Str255;
- gender*: INTEGER;
- age*: INTEGER;
- script*: INTEGER;
- language*: INTEGER;
- region*: INTEGER;
- reserved*: ARRAY 4 (*ΔΔ[0..3]ΔΔ*) OF LONGINT;
- END;
-
- VoiceFileInfo* = RECORD
- fileSpec*: Files.FSSpec;
- resID*: INTEGER;
- END;
-
- SpeechStatusInfo* = RECORD
- outputBusy*: BOOLEAN;
- outputPaused*: BOOLEAN;
- inputBytesLeft*: LONGINT;
- phonemeCode*: INTEGER;
- END;
-
- SpeechErrorInfo* = RECORD
- count*: INTEGER;
- oldest*: Types.OSErr;
- oldPos*: LONGINT;
- newest*: Types.OSErr;
- newPos*: LONGINT;
- END;
-
- SpeechVersionInfo* = RECORD
- synthType*: Types.OSType;
- synthSubType*: Types.OSType;
- synthManufacturer*: Types.OSType;
- synthFlags*: LONGINT;
- synthVersion*: Types.NumVersion;
- END;
-
- PhonemeInfo* = RECORD
- opcode*: INTEGER;
- phStr*: Types.Str15;
- exampleStr*: Types.Str31;
- hiliteStart*: INTEGER;
- hiliteEnd*: INTEGER;
- END;
-
- PhonemeDescriptor* = RECORD
- phonemeCount*: INTEGER;
- thePhonemes*: ARRAY 1 (*ΔΔ[0..0]ΔΔ*) OF PhonemeInfo;
- END;
-
- SpeechXtndData* = (*ΔΔPACKEDΔΔ*) RECORD
- synthCreator*: Types.OSType;
- synthData*: ARRAY 2 (*ΔΔ[0..1]ΔΔ*) OF Types.Byte;
- END;
-
- DelimiterInfo* = (*ΔΔPACKEDΔΔ*) RECORD
- startDelimiter*: ARRAY 2 (*ΔΔ[0..1]ΔΔ*) OF Types.Byte;
- endDelimiter*: ARRAY 2 (*ΔΔ[0..1]ΔΔ*) OF Types.Byte;
- END;
-
- SpeechTextDoneProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (parameter0: SpeechChannel; parameter1: LONGINT; VAR parameter2: Types.Ptr; VAR parameter3: LONGINT; VAR parameter4: LONGINT);
- SpeechDoneProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (parameter0: SpeechChannel; parameter1: LONGINT);
- SpeechSyncProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (parameter0: SpeechChannel; parameter1: LONGINT; parameter2: Types.OSType);
- SpeechErrorProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (parameter0: SpeechChannel; parameter1: LONGINT; parameter2: Types.OSErr; parameter3: LONGINT);
- SpeechPhonemeProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (parameter0: SpeechChannel; parameter1: LONGINT; parameter2: INTEGER);
- SpeechWordProcPtr* = (*ΔΔ Types.ProcPtr;*) PROCEDURE (parameter0: SpeechChannel; parameter1: LONGINT; parameter2: LONGINT; parameter3: INTEGER);
- SpeechTextDoneUPP* = Types.UniversalProcPtr;
- SpeechDoneUPP* = Types.UniversalProcPtr;
- SpeechSyncUPP* = Types.UniversalProcPtr;
- SpeechErrorUPP* = Types.UniversalProcPtr;
- SpeechPhonemeUPP* = Types.UniversalProcPtr;
- SpeechWordUPP* = Types.UniversalProcPtr;
-
- CONST
- uppSpeechTextDoneProcInfo* = $0000FFC0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 4 byte param, 4 byte param); *)
- uppSpeechDoneProcInfo* = $000003C0; (* PROCEDURE (4 byte param, 4 byte param); *)
- uppSpeechSyncProcInfo* = $00000FC0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param); *)
- uppSpeechErrorProcInfo* = $00003BC0; (* PROCEDURE (4 byte param, 4 byte param, 2 byte param, 4 byte param); *)
- uppSpeechPhonemeProcInfo* = $00000BC0; (* PROCEDURE (4 byte param, 4 byte param, 2 byte param); *)
- uppSpeechWordProcInfo* = $00002FC0; (* PROCEDURE (4 byte param, 4 byte param, 4 byte param, 2 byte param); *)
-
- PROCEDURE NewSpeechTextDoneProc*(userRoutine: SpeechTextDoneProcPtr): SpeechTextDoneUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewSpeechDoneProc*(userRoutine: SpeechDoneProcPtr): SpeechDoneUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewSpeechSyncProc*(userRoutine: SpeechSyncProcPtr): SpeechSyncUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewSpeechErrorProc*(userRoutine: SpeechErrorProcPtr): SpeechErrorUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewSpeechPhonemeProc*(userRoutine: SpeechPhonemeProcPtr): SpeechPhonemeUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE NewSpeechWordProc*(userRoutine: SpeechWordProcPtr): SpeechWordUPP;
- (*$IF NOT GENERATINGCFM *)
- INLINE PASCAL $2E9F;
- (*$END*)
-
- PROCEDURE CallSpeechTextDoneProc*(parameter0: SpeechChannel; parameter1: LONGINT; VAR parameter2: Types.Ptr; VAR parameter3: LONGINT; VAR parameter4: LONGINT; userRoutine: SpeechTextDoneUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallSpeechDoneProc*(parameter0: SpeechChannel; parameter1: LONGINT; userRoutine: SpeechDoneUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallSpeechSyncProc*(parameter0: SpeechChannel; parameter1: LONGINT; parameter2: Types.OSType; userRoutine: SpeechSyncUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallSpeechErrorProc*(parameter0: SpeechChannel; parameter1: LONGINT; parameter2: Types.OSErr; parameter3: LONGINT; userRoutine: SpeechErrorUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallSpeechPhonemeProc*(parameter0: SpeechChannel; parameter1: LONGINT; parameter2: INTEGER; userRoutine: SpeechPhonemeUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE CallSpeechWordProc*(parameter0: SpeechChannel; parameter1: LONGINT; parameter2: LONGINT; parameter3: INTEGER; userRoutine: SpeechWordUPP);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $205F, $4E90;
- (*$END*)
-
- PROCEDURE SpeechManagerVersion*(): LONGINT (*ΔΔ NumVersion*);
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0000, $000C, $A800;
- (*$END*)
- PROCEDURE MakeVoiceSpec*(creator: Types.OSType; id: Types.OSType; VAR voice: VoiceSpec): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0604, $000C, $A800;
- (*$END*)
- PROCEDURE CountVoices*(VAR numVoices: INTEGER): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0108, $000C, $A800;
- (*$END*)
- PROCEDURE GetIndVoice*(index: INTEGER; VAR voice: VoiceSpec): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $030C, $000C, $A800;
- (*$END*)
- PROCEDURE GetVoiceDescription*(voice: VoiceSpecPtr; VAR info: VoiceDescription; infoLength: LONGINT): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0610, $000C, $A800;
- (*$END*)
- PROCEDURE GetVoiceInfo*(voice: VoiceSpecPtr; selector: Types.OSType; voiceInfo: (*ΔΔUNIVΔΔ*) Types.Ptr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0614, $000C, $A800;
- (*$END*)
- PROCEDURE NewSpeechChannel*(voice: VoiceSpecPtr; VAR chan: SpeechChannel): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0418, $000C, $A800;
- (*$END*)
- PROCEDURE DisposeSpeechChannel*(chan: SpeechChannel): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $021C, $000C, $A800;
- (*$END*)
- PROCEDURE SpeakString*(s: Types.StringPtr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0220, $000C, $A800;
- (*$END*)
- PROCEDURE SpeakText*(chan: SpeechChannel; textBuf: Types.Ptr; textBytes: LONGINT): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0624, $000C, $A800;
- (*$END*)
- PROCEDURE SpeakBuffer*(chan: SpeechChannel; textBuf: Types.Ptr; textBytes: LONGINT; controlFlags: LONGINT): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0828, $000C, $A800;
- (*$END*)
- PROCEDURE StopSpeech*(chan: SpeechChannel): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $022C, $000C, $A800;
- (*$END*)
- PROCEDURE StopSpeechAt*(chan: SpeechChannel; whereToStop: LONGINT): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0430, $000C, $A800;
- (*$END*)
- PROCEDURE PauseSpeechAt*(chan: SpeechChannel; whereToPause: LONGINT): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0434, $000C, $A800;
- (*$END*)
- PROCEDURE ContinueSpeech*(chan: SpeechChannel): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0238, $000C, $A800;
- (*$END*)
- PROCEDURE SpeechBusy*(): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $003C, $000C, $A800;
- (*$END*)
- PROCEDURE SpeechBusySystemWide*(): INTEGER;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0040, $000C, $A800;
- (*$END*)
- PROCEDURE SetSpeechRate*(chan: SpeechChannel; rate: Types.Fixed): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0444, $000C, $A800;
- (*$END*)
- PROCEDURE GetSpeechRate*(chan: SpeechChannel; VAR rate: Types.Fixed): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0448, $000C, $A800;
- (*$END*)
- PROCEDURE SetSpeechPitch*(chan: SpeechChannel; pitch: Types.Fixed): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $044C, $000C, $A800;
- (*$END*)
- PROCEDURE GetSpeechPitch*(chan: SpeechChannel; VAR pitch: Types.Fixed): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0450, $000C, $A800;
- (*$END*)
- PROCEDURE SetSpeechInfo*(chan: SpeechChannel; selector: Types.OSType; speechInfo: (*ΔΔUNIVΔΔ*) Types.Ptr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0654, $000C, $A800;
- (*$END*)
- PROCEDURE GetSpeechInfo*(chan: SpeechChannel; selector: Types.OSType; speechInfo: (*ΔΔUNIVΔΔ*) Types.Ptr): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0658, $000C, $A800;
- (*$END*)
- PROCEDURE TextToPhonemes*(chan: SpeechChannel; textBuf: Types.Ptr; textBytes: LONGINT; phonemeBuf: Types.Handle; VAR phonemeBytes: LONGINT): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0A5C, $000C, $A800;
- (*$END*)
- PROCEDURE UseDictionary*(chan: SpeechChannel; dictionary: Types.Handle): Types.OSErr;
- (*$IF NOT GENERATINGCFM*)
- INLINE PASCAL $203C, $0460, $000C, $A800;
- (*$END*)
-
- (* $ALIGN RESET*)
- (* $POP*)
-
- END Speech.
-